package com.guilin.system.service;

import com.guilin.domain.Alumni;
import io.jsonwebtoken.Claims;

import javax.servlet.http.HttpServletRequest;

public interface QQToKenService {

    //基于校友信息创建token
    public String createToken(Alumni alumni);


    public Claims parseToken(String token);

    /**
     * 验证Token有效性
     */
    public boolean verifyToken(String token);


    /**
     * 刷新Token
     */
    public String refreshToken(String oldToken);

    /**
     * 使Token失效
     */
    public void invalidateToken(String token);

    /**
     * 从Token中获取校友角色
     */
    public String getAlumniRoleFromToken(String token);

    /**
     * 从请求头中获取Token
     */
    public String getToken(HttpServletRequest request);

    /**
     * 更新Token中的校友头像
     */
    public String updateAvatarInToken(String oldToken, String newAvatarUrl);

    /**
     * 使旧令牌失效
     */
    public void invalidateOldToken(String oldToken);
}
